/*
 * @Author: liujinjun681 liujinjun681@qq.com
 * @Date: 2022-06-27 10:46:56
 * @LastEditors: liujinjun681 liujinjun681@qq.com
 * @LastEditTime: 2022-11-10 15:33:06
 * @FilePath: \hd_ims_web\src\api\board\board.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import axios from '@/utils/request'
/**
 *
 */
class BaseService {
  modulePath = ''
  /**
   *
   * @constructor
   * @param {*} modulePath
   */
  constructor(modulePath) {
    this.modulePath = modulePath
  }
  /**
   * @description: 新增主表数据
   * @return {*}
   */
  add(data) {
    return axios.post(this.modulePath, data)
  }
  /**
   * @description: 删除主表数据
   * @return {*}
   */
  delete(ids) {
    return axios.delete(`${this.modulePath}/${ids}`)
  }
  /**
   * @description: 修改主表数据
   * @return {*}
   */
  save(data) {
    return axios.put(this.modulePath, data)
  }
  /**
   * @description: 查询主表列表
   * @return {*}
   */
  getList(params) {
    params = params || {}
    if (!params.pageSize) {
      params.pageSize = 20
    }
    if (!params.pageNum) {
      params.pageNum = 1
    }
    return axios.get(`${this.modulePath}/list`, { params })
  }
  /**
   * @description: 查询主表单据信息
   * @return {*}
   */
  getDetail(processId) {
    return axios.get(`${this.modulePath}/${processId}`)
  }
  /**
   * @description: 查询子表信息
   * @return {*}
   */
  getListChild(params) {
    return axios.get(`${this.modulePath}/listChild`, { params })
  }

  /**
   * @description: 新增子表数据
   * @return {*}
   */
  addChild(data) {
    return axios.post(`${this.modulePath}/child`, data)
  }
  /**
   * @description: 修改子表数据
   * @return {*}
   */
  saveChild(data) {
    return axios.post(`${this.modulePath}/child`, data)
  }
  saveChild2(data) {
    return axios.put(`${this.modulePath}/child`, data)
  }
  /**
   * @description: 删除子表数据
   * @return {*}
   */
  deleteChild(data) {
    return axios.delete(`${this.modulePath}/removeChild/${data}`)
  }

  /**
   * @description: 导出主表数据
   * @return {*}
   */
  export(params) {
    return axios.get(`${this.modulePath}/export`, { params })
  }

  /**
   * @description: 提交单条单据
   * @return {*}
   */
  submit(data) {
    return axios.put(`${this.modulePath}/submit`, data)
  }
  /**
   * @description: 审核单据
   * @return {*}
   */
  check(data) {
    return axios.put(`${this.modulePath}/check`, data)
  }
  /**
   * @description: 撤回单据
   * @return {*}
   */
  rollBack(data) {
    return axios.put(`${this.modulePath}/rollback`, data)
  }
  /**
   * @description: 结案
   * @return {*}
   */
  finish(data) {
    return axios.put(`${this.modulePath}/finish`, data)
  }
  /**
   * @description: 确认按钮
   * @return {*}
   */
  confirm(data) {
    return axios.put(`${this.modulePath}/confirm`, data)
  }
}
export default BaseService
